import java.util.ArrayList;
import java.util.HashSet;

public class CollectionTest {
    public static void main(String[] args) {
        ArrayList c = new ArrayList();
        c.add("孙悟空");
        c.add(6);   // 虽然集合里不能放基本类型的值，但Java支持自动装箱
        System.out.println("c集合的元素个数为：" + c.size());
        // 删除指定元素
        // c.remove(6); 会调用 `public E remove(int index)` 方法导致异常
        c.remove(Integer.valueOf(6));
        System.out.println("c集合的元素个数为：" + c.size());
        // 判断是否包含字符串
        System.out.println("c集合是否包含\"孙悟空\"字符串：" + c.contains("孙悟空"));
        c.add("Java讲义");
        System.out.println("c集合的元素：" + c);

        HashSet books = new HashSet();
        books.add("Java讲义");
        books.add("数据结构与算法");
        System.out.println("c集合是否完全包含books集合？" + c.containsAll(books));
        // 用c集合减去books集合里的元素
        c.removeAll(books);
        System.out.println("c集合的元素：" + c);
        // 删除c集合里的所有元素
        c.clear();
        System.out.println("c集合的元素：" + c);
        // 控制books集合里只剩下c集合里也包含的元素
        books.retainAll(c);
        System.out.println("books集合的元素：" + books);
    }
}
